{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 高中体测数据转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1、数据加载， pd.read_excel('./18级高一体测成绩汇总.xls')默认加载第一个工作表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_excel('18级高一体测成绩汇总.xls',index_col='班级')\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2、数据加载， pd.read_excel('./18级高一体测成绩汇总.xls',sheet_name = 1)指定加载第二个工作表\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1 = pd.read_excel('18级高一体测成绩汇总.xls',sheet_name=1,index_col='班级')\n",
    "df1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3、评分标准加载，pd.read_excel('./体侧成绩评分表.xls',header = [0,1])，header=[0,1]表示多层            列索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = pd.read_excel('体侧成绩评分表.xls',header=[0,1])\n",
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4、数据类型转换\n",
    "\n",
    " ##     男1000米跑，数据类型是str，并且是4’26这种形式，需要变成float类型的值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['男1000米跑'] = df['男1000米跑'].apply(lambda x : str(x).replace(\"'\",\".\")).astype('float')\n",
    "df['男1000米跑']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 评分标准中男1000米跑和女800米跑的成绩都是4‘10’‘这种形式，需要转化为float类型值\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2[('男1000米跑','成绩')] = df2[('男1000米跑','成绩')].apply(lambda x : str(x).replace(\"'\",\".\").replace('\"','')).astype('float')\n",
    "df2[('男1000米跑','成绩')] "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2[('女800米跑','成绩')] = df2[('女800米跑','成绩')].apply(lambda x : str(x).replace(\"'\",\".\").replace('\"','')).astype('float')\n",
    "df2[('女800米跑','成绩')]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 其他所有数值类型的值，都要转换为float类型的值\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.iloc[:,1:] = df.iloc[:,1:].astype('float')\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5、对体测成绩进行分数转换，跑步类（越小越好）；跳远、体前屈（越大越好）\n",
    "\n",
    " ## 使用map、apply、transform方法\n",
    "\n",
    " ## 列索引重排\n",
    "\n",
    " ## 转换之后效果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_m = pd.read_excel('体侧成绩评分表.xls',header=[(0,1)])\n",
    "df_m['男跳远']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "col = []\n",
    "for i in df_m.columns:\n",
    "    i = list(i)\n",
    "    i = ''.join(i)\n",
    "    if i.endswith('成绩'):\n",
    "        i = i.split('成绩')[0]\n",
    "        col.append(i)\n",
    "    else:\n",
    "        col.append(i)\n",
    "print(col)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_m.columns = col\n",
    "df_m.fillna(value=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_m['男1000米跑'] = df_m['男1000米跑'].apply(lambda x : str(x).replace(\"'\",\".\").replace('\"','')).astype('float')\n",
    "df_m['女800米跑'] = df_m['女800米跑'].apply(lambda x : str(x).replace(\"'\",\".\").replace('\"','')).astype('float')\n",
    "df_m[['男1000米跑','男1000米跑分数']].loc[:,'男1000米跑']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['男1000米跑'],df_m['男1000米跑分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "        \n",
    "\n",
    "\n",
    "\n",
    "df['男1000米跑分数'] = df['男1000米跑'].apply(score)\n",
    "df['男1000米跑分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['男50米跑'],df_m['男50米跑分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "df['男50米跑分数'] = df['男50米跑'].apply(score)\n",
    "df['男50米跑分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['男跳远'],df_m['男跳远分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else :\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "\n",
    "df['男跳远分数'] = df['男跳远'].apply(score)\n",
    "df['男跳远分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['男体前屈'],df_m['男体前屈分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "\n",
    "df['男体前屈分数'] = df['男体前屈'].apply(score)\n",
    "df['男体前屈分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['男引体'],df_m['男引体分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "\n",
    "df['男引体分数'] = df['男引体'].apply(score)\n",
    "df['男引体分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['男肺活量'],df_m['男肺活量分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "\n",
    "            return 0\n",
    "\n",
    "\n",
    "df['男肺活量分数'] = df['男肺活量'].apply(score)\n",
    "df['男肺活量分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "df.sort_index(axis=1,level=None,ascending = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['女800米跑'],df_m['女800米跑分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "        \n",
    "\n",
    "\n",
    "\n",
    "df1['女800米跑分数'] = df1['女800米跑'].apply(score)\n",
    "df1['女800米跑分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['女50米跑'],df_m['女50米跑分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "df1['女50米跑分数'] = df1['女50米跑'].apply(score)\n",
    "df1['女50米跑分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['女跳远'],df_m['女跳远分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else :\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "\n",
    "df1['女跳远分数'] = df1['女跳远'].apply(score)\n",
    "df1['女跳远分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['女体前屈'],df_m['女体前屈分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "\n",
    "df1['女体前屈分数'] = df1['女体前屈'].apply(score)\n",
    "df1['女体前屈分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['女仰卧'],df_m['女仰卧分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "            continue\n",
    "    return 0\n",
    "\n",
    "\n",
    "df1['女仰卧分数'] = df1['女仰卧'].apply(score)\n",
    "df1['女仰卧分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "def score(x):\n",
    "    for i in list(zip(df_m['女肺活量'],df_m['女肺活量分数'])):\n",
    "\n",
    "        if  i[0] == x:\n",
    "\n",
    "            return i[1]\n",
    "        else:\n",
    "\n",
    "            return 0\n",
    "\n",
    "\n",
    "df1['女肺活量分数'] = df1['女肺活量'].apply(score)\n",
    "df1['女肺活量分数']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1 = df1.reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 591,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>身高</th>\n",
       "      <th>班级</th>\n",
       "      <th>性别</th>\n",
       "      <th>女跳远分数</th>\n",
       "      <th>女跳远</th>\n",
       "      <th>女肺活量分数</th>\n",
       "      <th>女肺活量</th>\n",
       "      <th>女体前屈分数</th>\n",
       "      <th>女体前屈</th>\n",
       "      <th>女仰卧分数</th>\n",
       "      <th>女仰卧</th>\n",
       "      <th>女800米跑分数</th>\n",
       "      <th>女800米跑</th>\n",
       "      <th>女50米跑分数</th>\n",
       "      <th>女50米跑</th>\n",
       "      <th>体重</th>\n",
       "      <th>BMI</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>163.0</td>\n",
       "      <td>1</td>\n",
       "      <td>女</td>\n",
       "      <td>85</td>\n",
       "      <td>185.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3775</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>48</td>\n",
       "      <td>0</td>\n",
       "      <td>3.22</td>\n",
       "      <td>0</td>\n",
       "      <td>9.32</td>\n",
       "      <td>51.3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>163.0</td>\n",
       "      <td>1</td>\n",
       "      <td>女</td>\n",
       "      <td>60</td>\n",
       "      <td>148.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3683</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>66</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>4.59</td>\n",
       "      <td>0</td>\n",
       "      <td>11.44</td>\n",
       "      <td>66.6</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>157.0</td>\n",
       "      <td>1</td>\n",
       "      <td>女</td>\n",
       "      <td>0</td>\n",
       "      <td>150.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3331</td>\n",
       "      <td>64</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>0</td>\n",
       "      <td>3.46</td>\n",
       "      <td>0</td>\n",
       "      <td>13.40</td>\n",
       "      <td>60.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>160.0</td>\n",
       "      <td>1</td>\n",
       "      <td>女</td>\n",
       "      <td>76</td>\n",
       "      <td>172.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3701</td>\n",
       "      <td>0</td>\n",
       "      <td>21</td>\n",
       "      <td>85</td>\n",
       "      <td>46</td>\n",
       "      <td>0</td>\n",
       "      <td>3.39</td>\n",
       "      <td>0</td>\n",
       "      <td>9.52</td>\n",
       "      <td>50.7</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>167.0</td>\n",
       "      <td>1</td>\n",
       "      <td>女</td>\n",
       "      <td>0</td>\n",
       "      <td>145.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3592</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>34</td>\n",
       "      <td>85</td>\n",
       "      <td>3.43</td>\n",
       "      <td>0</td>\n",
       "      <td>9.79</td>\n",
       "      <td>63.9</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>588</th>\n",
       "      <td>158.0</td>\n",
       "      <td>17</td>\n",
       "      <td>女</td>\n",
       "      <td>0</td>\n",
       "      <td>150.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2255</td>\n",
       "      <td>0</td>\n",
       "      <td>24</td>\n",
       "      <td>78</td>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>3.51</td>\n",
       "      <td>70</td>\n",
       "      <td>9.60</td>\n",
       "      <td>49.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>589</th>\n",
       "      <td>161.0</td>\n",
       "      <td>17</td>\n",
       "      <td>女</td>\n",
       "      <td>0</td>\n",
       "      <td>150.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2937</td>\n",
       "      <td>0</td>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>36</td>\n",
       "      <td>76</td>\n",
       "      <td>4.00</td>\n",
       "      <td>0</td>\n",
       "      <td>10.18</td>\n",
       "      <td>55.7</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>590</th>\n",
       "      <td>165.0</td>\n",
       "      <td>17</td>\n",
       "      <td>女</td>\n",
       "      <td>0</td>\n",
       "      <td>152.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2592</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>72</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>3.45</td>\n",
       "      <td>0</td>\n",
       "      <td>10.18</td>\n",
       "      <td>48.6</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>591</th>\n",
       "      <td>154.0</td>\n",
       "      <td>17</td>\n",
       "      <td>女</td>\n",
       "      <td>0</td>\n",
       "      <td>165.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1829</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>78</td>\n",
       "      <td>41</td>\n",
       "      <td>0</td>\n",
       "      <td>4.01</td>\n",
       "      <td>0</td>\n",
       "      <td>9.67</td>\n",
       "      <td>43.6</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>592</th>\n",
       "      <td>162.0</td>\n",
       "      <td>17</td>\n",
       "      <td>女</td>\n",
       "      <td>0</td>\n",
       "      <td>180.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2962</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>85</td>\n",
       "      <td>46</td>\n",
       "      <td>0</td>\n",
       "      <td>4.48</td>\n",
       "      <td>0</td>\n",
       "      <td>9.09</td>\n",
       "      <td>55.3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>593 rows × 17 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        身高  班级 性别  女跳远分数    女跳远  女肺活量分数  女肺活量  女体前屈分数  女体前屈  女仰卧分数  女仰卧  \\\n",
       "0    163.0   1  女     85  185.0       0  3775       0    16      0   48   \n",
       "1    163.0   1  女     60  148.0       0  3683       0     9     66   29   \n",
       "2    157.0   1  女      0  150.0       0  3331      64     7      0   40   \n",
       "3    160.0   1  女     76  172.0       0  3701       0    21     85   46   \n",
       "4    167.0   1  女      0  145.0       0  3592       0     8      0   34   \n",
       "..     ...  .. ..    ...    ...     ...   ...     ...   ...    ...  ...   \n",
       "588  158.0  17  女      0  150.0       0  2255       0    24     78   41   \n",
       "589  161.0  17  女      0  150.0       0  2937       0    13      0   36   \n",
       "590  165.0  17  女      0  152.0       0  2592       0    15     72   35   \n",
       "591  154.0  17  女      0  165.0       0  1829       0    10     78   41   \n",
       "592  162.0  17  女      0  180.0       0  2962       0    10     85   46   \n",
       "\n",
       "     女800米跑分数  女800米跑  女50米跑分数  女50米跑    体重  BMI  \n",
       "0           0    3.22        0   9.32  51.3    0  \n",
       "1           0    4.59        0  11.44  66.6    0  \n",
       "2           0    3.46        0  13.40  60.0    0  \n",
       "3           0    3.39        0   9.52  50.7    0  \n",
       "4          85    3.43        0   9.79  63.9    0  \n",
       "..        ...     ...      ...    ...   ...  ...  \n",
       "588         0    3.51       70   9.60  49.0    0  \n",
       "589        76    4.00        0  10.18  55.7    0  \n",
       "590         0    3.45        0  10.18  48.6    0  \n",
       "591         0    4.01        0   9.67  43.6    0  \n",
       "592         0    4.48        0   9.09  55.3    0  \n",
       "\n",
       "[593 rows x 17 columns]"
      ]
     },
     "execution_count": 591,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1.sort_index(axis=1,level=None,ascending = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
